package com.flow.dao;

import java.util.List;
import com.flow.model.PagerModel;
import com.flow.model.PermissionMenu;

/**
 * 角色菜单Dao接口
 * @author wang
 * @2015-12-25
 * IPermissionMenuDao.java
 *
 */
public interface IPermissionMenuDao<T> {

	public boolean insertPermissionMenu(PermissionMenu permissionMenu);

	public boolean updatePermissionMenu(PermissionMenu permissionMenu);
	
	public boolean deletePermissionMenu(PermissionMenu permissionMenu);
	
	public PermissionMenu findPermissionMenuByHql(String hql);

	public PermissionMenu findPermissionMenuByHql(String hql, Object param);

	public PermissionMenu findPermissionMenuByHql(String hql, List<Object> params);

	public int universalMethodPermissionMenu(String hql);
	
	public int universalMethodPermissionMenu(String hql, Object param);
	
	public int universalMethodPermissionMenu(String hql, List<Object> params);
	
	public List<T> findPermissionMenuAllByHql(String hql);

	public List<T> findPermissionMenuAllByHql(String hql, Object param);

	public List<T> findPermissionMenuAllByHql(String hql, List<Object> params);

	public PagerModel findPermissionMenuPagerModeled(PagerModel pager, String hql);
	
	public PagerModel findPermissionMenuPagerModeled(PagerModel pager, String hql, Object param);
	
	public PagerModel findPermissionMenuPagerModeled(PagerModel pager, String hql, List<Object> params);
	
}
